home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Windows 3
/
dr win3.zip
/
dr win3
/
WINPROGS
/
WINSRC20.ZIP
/
WINSRC.DOC
< prev
Wrap
Text File
|
1990-10-20
|
4KB
|
72 lines
Let's start with the caveats:
1) you need Microsoft C 5.1 or 6.0 (I use 6.0) and the Microsoft
Windows 3.0 SDK to rebuild WINFRACT from this ZIP file.
2) There are a lot of "common modules" between Fractint-for-Windows and
Fractint-for-DOS, but they are *not* currently in synch. By that, we
mean that CALCFRAC.C as distributed with version 2.0 of Fractint-for-Windows
is *not* the same file as CALCFRAC.C distributed with version 14.0 of
Fractint-for-DOS (lots of little changes had to be made to get it to
work in both the FFD and FFW environments), and probably won't quite
match the one in version 15.0 of FFD. Just as soon as things settle
down <grin>, we'll start distributing "synched" sources of both FFD and FFW.
3) The MAKEFRAC.BAT file references a program called VIDRAM, which is
distributed with Quarterdeck's QEMM package and as such is *not*
included with this ZIP file. VIDRAM temporarily ('VIDRAM ON') converts
your EGA or VGA adapter's memory to DOS memory, so that you effectively
have a 736K machine that only runs in text mode - 'VIDRAM OFF' puts
everything back at the end. VIDRAM is not strictly required for the
compilation process to work, but it sure speeds up the LINK step. That's
"speeds up" in that the LINK step only takes 15 minutes on my 16MHZ PS/2
model 80 rather than 30 minutes. The LINK step itself is pulled out
of the "make" process and into MAKEFRAC.BAT just to give LINK as much RAM
as possible.
4) Comments? I got this thing ported in four months of my spare time
and you expected me to take the time to put *comments* in the source
code?
---------
How this program works:
First of all, we got lucky. Fractint-for-DOS has, for some time, been
structured such that the working modules periodically call a routine
called 'keypressed()'. That routine both lets the calling program know if
there is a keypress or mouse movement waiting that is of interest to the
calling routine, and it handles the help (F1) and status (TAB) routines in a
manner invisible to the calling routine.
In the Windows environment, 'keypressed()' performs a 'peekmessage()'
function, checking for and processing any user activity, and returns
a value indicating that either nothing of interest has happened, or that
the calling program should terminate and return to the main routine which
will actually decide what to do.
Aside from the routines that are taken directly from Fractint-for-DOS,
the following routines are Windows-specific:
winsrc.doc - you're reading it right now
makefrac.bat - run this routine to make a new version of WINFRACT
winfract - the WINFRACT "make" file
winfract.def - the WINFRACT "def" file
winfract.rc - the WINFRACT "resource compiler" file
winfract.ico - the WINFRACT "icon"
winfract.rtf - the source for the HELP text
winfract.hpj - the project for the HELP text
winfract.h - generic WINFRACT include file
select.h - used by the zoom-box routines (stolen from the Windows SDK)
winfract.lnk - the list of files required by the LINK step
winlib.lst - used to build a LIB of FFD routines
winfract.c - the main WINFRACT routine
dialog.c - the first of two dialog modules
dialog2.c - the second of two dialog modules
windos.c - Windows routines that fake DOS routines
(routines such as 'keypressed()' are in here)
mainfrac.c - the main "Fractint" driver routine (called by winfract.c)
select.c - Zoom-box routines (stolen from the Windows SDK)
wgeneral.asm - WINFRACT assembler code
wgeneral.obj - compiled version of same (so you won't need an assembler)